/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author nicolas
 */
public class Plateau {
    
    private int largeur;
    private int hauteur;
    private Case[][] plateau;
    
    public Plateau(int largeur, int hauteur){
        this.largeur=largeur;
        this.hauteur=hauteur;
        this.plateau = new Case[largeur][hauteur];
        //on initialise le plateau avec des cases de type UNDEFINED
        for(int i=0;i<this.largeur;i++){
            for(int j=0;j<this.hauteur;j++){
                Case l_case = new Case(i,j,TypeCase.UNDEFINED);
                this.plateau[i][j]=l_case;
            }
        }        
    }
    
    public void setTypeCase(int x, int y, TypeCase TYPE_CASE){
        try{
            this.plateau[x][y].setTypeCase(TYPE_CASE);    
        } catch(Exception Ex) {
            Ex.getMessage();
        }        
    }
    
    public void setTypeCase(Case a_case, TypeCase TYPE_CASE){
        try{
            this.setTypeCase(a_case.getX(), a_case.getY(), TYPE_CASE); 
        } catch(Exception Ex) {
            Ex.getMessage();
        }        
    }
    
    public Case getCase(int x, int y){
        return this.plateau[x][y];
    }
    public int getHauteur(){
        return this.hauteur;
    } 
    public int getLargeur(){
        return this.largeur;
    } 
    public void draw(int x, int y){
        for(int i=0;i<this.largeur;i++){
            for(int j=0;j<this.hauteur;j++){
                this.getCase(i,j).draw(x+j,y+i);
            }
        }
    }
}
